package com.swf.seed.jolt;

/**
 * <p>Title: 与Tuxedo短连接的配置类</p>
 * <p>Description: 包括短连接的各个配置项.</p>
 * <p>Copyright: Copyright (c) 2009</p>
 * <p>Company: Beijing Watchdata CO,.Ltd</p>
 * @author da.wang
 * @version 1.0
 */
public class BasicJoltConfig {
    // 应用地址 //ip:prot 形式
    private String appAddress = "";

    // 应用密码
    private String appPassword = "";

    // 用户名
    private String userName = "";

    // 用户密码
    private String userPassword = "";

    // 用户角色
    private String userRole = "";

    // 接收数据超时,0为不设置
    private int recvTimeout = 0;

    // 发送数据超时,0为不设置
    private int sendTimeout = 0;

    // 服务器端会话超时,0为不设置
    private int sessionTimeout = 0;

    // 网络空闲超时,0为不设置
    private int idleTimeout = 0;
    public String getUserRole() {
        return userRole;
    }

    /**
     * 获取接收超时时间
     * @return int 单位:秒
     */
    public int getRecvTimeout() {
        return recvTimeout;
    }

    /**
     * 获取用户密码
     * @return String
     */
    public String getUserPassword() {
        return userPassword;
    }

    /**
     * 获取Session超时时间
     * @return int 单位:秒
     */
    public int getSessionTimeout() {
        return sessionTimeout;
    }

    /**
     * 获取Tuxedo服务器的地址
     * @return String
     */
    public String getAppAddress() {
        return appAddress;
    }

    /**
     * 获取网络空间超时时间
     * @return int 单位:秒
     */
    public int getIdleTimeout() {
        return idleTimeout;
    }

    /**
     * 获取发送超时时间
     * @return int 单位:秒
     */
    public int getSendTimeout() {
        return sendTimeout;
    }

    /**
     * 获取应用密码
     * @return String
     */
    public String getAppPassword() {
        return appPassword;
    }

    /**
     * 设置用户名
     * @param userName String 没有时,使用空字符串 ""
     */
    public void setUserName( String userName ) {
        this.userName = userName;
    }

    /**
     * 设置用户角色
     * @param userRole String 没有时,使用空字符串 ""
     */
    public void setUserRole( String userRole ) {
        this.userRole = userRole;
    }

    /**
     * 设置接收超时
     * @param recvTimeout int
     */
    public void setRecvTimeout( int recvTimeout ) {
        this.recvTimeout = recvTimeout;
    }

    /**
     * 设置用户密码
     * @param userPassword String
     */
    public void setUserPassword( String userPassword ) {
        this.userPassword = userPassword;
    }

    /**
     * 设置Session超时
     * @param sessionTimeout int 单位:秒
     */
    public void setSessionTimeout( int sessionTimeout ) {
        this.sessionTimeout = sessionTimeout;
    }

    /**
     * 设置Tuxedo服务器地址
     * @param appAddress String  //ip:port  格式
     */
    public void setAppAddress( String appAddress ) {
        this.appAddress = appAddress;
    }

    /**
     * 设置网络空闲超时时间
     * @param idleTimeout int 单位:秒
     */
    public void setIdleTimeout( int idleTimeout ) {
        this.idleTimeout = idleTimeout;
    }

    /**
     * 设置发送超时
     * @param sendTimeout int 单位:秒
     */
    public void setSendTimeout( int sendTimeout ) {
        this.sendTimeout = sendTimeout;
    }

    /**
     * 设置应用密码
     * @param appPassword String 没有时,使用空字符串 ""
     */
    public void setAppPassword( String appPassword ) {
        this.appPassword = appPassword;
    }

    /**
     * 获取用户名
     * @return String
     */
    public String getUserName() {
        return userName;
    }

    public BasicJoltConfig() {
    }
}
